package com.zyx.thread4;

public class Kitchen {
    private int food=0;//食物 初始值为0 妈妈做饭 为1妈妈不做饭孩子吃饭


    //只有妈妈调用这个方法
    public synchronized void do_cock() throws InterruptedException {
        if(food==1){
            //有食物 妈妈不用做饭 等待孩子吃完饭 food=0
            this.wait();
        }else {
            System.out.println("mama正在做饭");
            Thread.sleep(2000);
            food++;
            System.out.println("饭做好了，过来吃饭吧"+food);
            //唤醒孩子吃饭
            this.notifyAll();
        }
    }
    //只有孩子会调用这个方法
    public synchronized void do_eat() throws InterruptedException {
        if(food==0){
            //饭没做好
            this.wait();
        }else{
            Childen c=(Childen) Thread.currentThread();
            System.out.println(Thread.currentThread().getName()+"正在吃饭");
            Thread.sleep(1000);
            food--;

            c.setHp(c.getHp()+1);
            System.out.println(c.getName()+"目前的体力值是"+c.getHp());
            System.out.println("food为"+food);


            //吃完饭唤醒妈妈做饭

            this.notifyAll();
        }
    }




}
